package com.ftg.learn.day02;

/**
 * 运算符
 *
 * @author 布衣
 */
public class Op01 {

    /**
     * 流程控制
     * 运算符
     * 数学运算符  (同类型运算返回同类型，不同类型返回精度较大的类型)
     * +
     * -
     * *
     * /
     * % 求余 ： ---
     * ++  自增1  自加运算  ++i  先自增再使用  i++先使用再自增
     * --
     * 关系运算符
     * >
     * <
     * >=
     * <=
     * !=
     * ==  相等为true,false
     * 逻辑运算符
     * &   非短路逻辑与
     * && 短路逻辑&与 表示两个都为真，那么就是真，有一个假就是假的
     * || 或 表示有一个为真，那么就是真,全假为假
     * |  短路逻辑或
     * !
     * ^ 异或
     * 位运算符
     * & 按位与
     * | 按位或
     * 流程控制
     * 三目条件运算符  : 三元表达式   ？ ：
     */

    public static void main(String[] args) {
//        4 8
        System.out.printf("4的二进制为%s\n", Integer.toBinaryString(4));
        System.out.printf("8的二进制为%s\n", Integer.toBinaryString(8));
        //& 4 & 8
//          00000100
//        & 00111111
//          00000000

//          00000100
//        | 00001000
//          00001100

//        ^
        int a = 9;
        int b = 3;
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;
        System.out.println(a);
        System.out.println(b);
//          0011
//        ^ 1001
//          1010



        System.out.println("结果为" + (4 & 8));
        System.out.println("1");
    }

}
